/*
*
* Copyright 2013 Netflix, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.netflix.client;

import com.netflix.client.config.IClientConfig;

/**
 * A "VipAddress" is a logical name for a Target Server farm.
 *
 * VipAddress 是一个来自目标服务器的逻辑名称，
 *
 * 这里抽象为一个接口，是因为要解耦 真实地址与目标服务器的虚拟地址。
 *
 * 例如使用 eureka，可能有一套特定的 resolver 将 vipaddress 转换为 ribbon 所需的地址
 *
 * 那么使用 nacos 时，也可以有一套特定的 resolve 流程，将 vipaddress 转换为相对于的地址
 *
 * 。因此对于 ribbon 来说，只需要依赖 VipAddressResolver 接口即可，无需关心最终的地址是如何解析出来的。
 *
 *
 *
 * VIP地址解析器，“VipAddress”是目标服务器场的逻辑名称，该处理器帮助解析并获取得到最终的地址。
 * @author stonse
 *
 */
public interface VipAddressResolver {
    public String resolve(String vipAddress, IClientConfig niwsClientConfig);
}
